Oracleデータをキャッシュ・グループにロードする方法については、『Oracle TimesTen In-Memory Database概要』のCache Connect to Oracleに関する章のキャッシュ・グループのレプリケートに関する説明を参照してください。
OracleからTimesTenにロードされる基本単位は、キャッシュ・インスタンスです。LOAD CACHE GROUPまたはREFRESH CACHE GROUP文のいずれかを使用すると、データをキャッシュ・グループにロードできます。次の相違はありますが、WHERE句が使用されているかどうかに関係なく、いずれのSQL文でもOracleからキャッシュ・グループにデータがコピーされます。
インスタンスをOracleからWesternCustomersキャッシュ・グループにロードするには、次のように入力します。
LOAD CACHE GROUP WesternCustomers
COMMIT EVERY 256 ROWS;
顧客のZIPコードが94022であるキャッシュ・グループ・インスタンスのみOracleからWesternCustomersキャッシュ・グループにロードするには、次のように入力します。
LOAD CACHE GROUP WesternCustomers
WHERE (USER1.CUSTOMER.ZIP = 94022)
COMMIT EVERY 256 ROWS;
WesternCustomersキャッシュ・グループ全体をOracle表からリフレッシュするには、次のように入力します。
REFRESH CACHE GROUP WesternCustomers
COMMIT EVERY 256 ROWS;
注文品目2353に関連付けられているキャッシュ・グループ・インスタンスのみリフレッシュするには、次のように入力します。
REFRESH CACHE GROUP WesternCustomers
WHERE (USER1.ORDERDETAILS.ITEMID = 2353)
COMMIT EVERY 256 ROWS;
キャッシュ・グループに複数の表が含まれていて、Oracleがロードまたはリフレッシュ対象の表を現在更新している場合は、TimesTenの分離レベルをシリアライズ可能に設定してから、LOAD CACHE GROUPまたはREFRESH CACHE GROUP文を実行した方がよい場合があります。これによって、TimesTenはシリアライズ可能な方法でOracle表を問い合せ、ロードされたデータのトランザクション一貫性が保証されます。キャッシュ・グループをロードまたはリフレッシュした後、分離レベルをREAD_COMMITTEDに再設定して同時実行性を向上させることができます。
ttIsqlセッション中、キャッシュ・グループをロードする前に分離レベルを再設定することができます。これは、キャッシュ・グループをロードまたはリフレッシュする場合、非ロギングモードに適用されます。
Command> isolation SERIALIZABLE;
Command> LOAD CACHE GROUP WesternCustomers
>COMMIT EVERY 1000 ROWS;
Command> isolation READ_COMMITTED;